import Vue from 'vue'
import vuex from 'vuex'

//应用（使用）vuex这个插件
Vue.use(vuex)

//创建整个vuex中最重要的角色——store（相当于餐厅总经理）
const store = new vuex.Store({
	//服务员
	actions:{
		// 响应组件中“加”这个动作的“服务员”
		jia({commit},value){
			console.log('actions中的jia方法被调用了----服务员')
			commit('JIA',value)
		},
		// 响应组件中“减”这个动作的“服务员”
		jian({commit},value){
			console.log('actions中的jian方法被调用了----服务员')
			commit('JIAN',value)
		},
		// 响应组件中“奇数加”这个动作的“服务员”
		jiaOdd({commit,state},value){
			console.log('actions中的jiaOdd方法被调用了----服务员')
			if(state.sum % 2){
				commit('JIA',value)
			}
		},
		// 响应组件中“等一等加”这个动作的“服务员”
		jiaWait({commit},value){
			console.log('actions中的jiaWait方法被调用了----服务员')
			setTimeout(()=>{
				commit('JIA',value)
			},500)
		}
	}, 

	//后厨
	mutations:{
		JIA(state,value){
			console.log('mutations中的JIA方法被调用了----后厨')
			state.sum += value
		},
		JIAN(state,value){
			console.log('mutations中的JIAN方法被调用了----后厨')
			state.sum -= value
		}
	}, 
	
	//原材料
	state:{
		sum:0
	} 
})

//暴露store
export default store